package com.algorithms.techniques;

import java.util.Set;
import java.util.TreeSet;

import com.algorithms.datatypes.Tree;
@SuppressWarnings("hiding")
public class HuffmanCoding<I> extends GreedyAlgorithm<I>
{
	Tree<I> input = null;
	Tree<I> output = null;
	public HuffmanCoding(Set<I> inputStructure,Set<I> outputStructure)
	{
		super();
		input = new TreeSet<I>(inputStructure);
		TreeSet<I> treeset = new TreeSet<I>(inputStructure);
	}

	@Override
	protected boolean checkAndSetCondition()
	{
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	protected void reorderInput()
	{
		// TODO Auto-generated method stub
		
	}

	@Override
	protected <I> I makeAGreedyChoice()
	{
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	protected <I> void addToGreedyOutput(I choice)
	{
		// TODO Auto-generated method stub
		
	}

	@Override
	protected void removeChoiceFromInput()
	{
		// TODO Auto-generated method stub
		
	}
	/*@Override
	protected <I> boolean checkAndSetCondition(Set<I> inputStructure)
	{
		if(inputStructure.size()==1)
			return true;
		else
			return false;
	}

	@Override
	protected <I> Set<I> reorderInput(Set<I> inputStructure)
	{
		TreeSet<I> treeset = new TreeSet<I>(inputStructure);
		
		return treeset;
	}

	@Override
	protected <I> I makeAGreedyChoice(Set<I> inputStructure)
	{
		TreeSet<I> treeset = new TreeSet<I>(inputStructure);
		
		return null;
	}

	@Override
	protected <I> void addToGreedyOutput(I choice, Set<I> outputStructure)
	{
		// TODO Auto-generated method stub
		
	}

	@Override
	protected <I> Set<I> removeChoiceFromInput(Set<I> inputStructure)
	{
		// TODO Auto-generated method stub
		return null;
	}
*/
	

}
